#!/bin/bash

# 本地开发模式启动脚本（不依赖 Docker 镜像）

echo "🚀 启动博客系统（本地开发模式）..."

# 检查 Python 是否安装
if ! command -v python3 &> /dev/null; then
    echo "❌ Python3 未安装，请先安装 Python3"
    exit 1
fi

# 检查 Node.js 是否安装
if ! command -v node &> /dev/null; then
    echo "❌ Node.js 未安装，请先安装 Node.js"
    exit 1
fi

# 检查 npm 是否安装
if ! command -v npm &> /dev/null; then
    echo "❌ npm 未安装，请先安装 npm"
    exit 1
fi

echo "✅ 环境检查通过"

# 启动数据库（如果使用 Colima）
if colima status &> /dev/null; then
    echo "🐳 启动数据库服务..."
    docker-compose -f docker-compose.simple.yml up -d db redis
    echo "⏳ 等待数据库启动..."
    sleep 10
fi

# 安装后端依赖
echo "📦 安装后端依赖..."
cd backend
if [ ! -d "venv" ]; then
    echo "创建 Python 虚拟环境..."
    python3 -m venv venv
fi

source venv/bin/activate
pip install -r requirements.txt

echo "🚀 启动后端服务..."
uvicorn main:app --reload --host 0.0.0.0 --port 8000 &
BACKEND_PID=$!

# 等待后端启动
sleep 5

# 安装前端依赖
echo "📦 安装前端依赖..."
cd ../frontend
if [ ! -d "node_modules" ]; then
    echo "安装前端依赖..."
    npm install
fi

echo "🚀 启动前端服务..."
npm run dev &
FRONTEND_PID=$!

# 等待前端启动
sleep 5

echo ""
echo "✅ 博客系统启动完成！"
echo ""
echo "📱 访问地址："
echo "   前端: http://localhost:3000"
echo "   后端API: http://localhost:8000"
echo "   API文档: http://localhost:8000/docs"
echo ""
echo "🛠️  管理命令："
echo "   停止服务: kill $BACKEND_PID $FRONTEND_PID"
echo "   查看后端日志: 查看终端输出"
echo "   查看前端日志: 查看终端输出"
echo ""
echo "💡 提示："
echo "   如果遇到端口冲突，请检查 3000 和 8000 端口是否被占用"
echo "   使用 Ctrl+C 可以停止服务"
echo ""

# 等待用户中断
wait
